1. Field of the Invention
The present invention pertains to wireless communications, and particularly to the coordination of timers maintained by redundant units of a wireless communication system.
2. Related Art and Other Considerations
In certain aspects of wireless communications systems, e.g., mobile telecommunications systems such as a cellular communications network, it is advantageous to have redundancy. That is, for some wireless communications functions it is prudent to have two units or processors performing certain activities, just in case one of the units malfunctions or terminates (e.g., crashes). See, for example, U.S. Pat. No. 5,469,503 which discloses a certain recovery algorithm for a redundant system in a telecommunications environment.
Redundant systems can be built and maintained in various ways. One technique for achieving redundancy is to have the separate units executing the same task or processes, with the separate units being synchronized by receiving external stimuli such as bus events, for example. In this technique, typically one of the units is an active unit which actually performs all the tasks, while the other unit is a standby unit. Although the standby unit also performs all the tasks in synchronized manner with the active unit, the standby unit does not generate any output (e.g., does not generate any bus events).
Typically, in the course of their execution, the processes executed by the redundant units set certain timers. The timers can be used, for example, to ascertain when the process is to perform a certain event or signal another process to perform an event.
When it is detected that one of the redundant units becomes out of synchronization with the other unit, the un-synchronized unit must be reset. The coordinated maintenance the timers of both units is particularly problematic upon reset of one of the redundant units.
A common prior art practice is to implement the timers of the processes executed by the redundant units is by using primitives of the real time operating system (RTOS) for the respective units. In accordance with this RTOS-implemented timer practice, the timers are stored in a private memory of the RTOS of each unit. As a consequence of storage of the timers in the private memory of the RTOS, the contents of the timers cannot be ascertained for the purpose of resynchronization after a reset. Thus, for example, the timer of the active unit cannot be replicated for the standby unit after the standby unit is reset.
Another practice is to employ a timeout server which acts on an interrupt from a system clock to decrease a timer value of a timer. Fortunately, there is full access to data structures of the timeout server, so that the data structures thereof can be utilized for achieving redundancy. But, as a disadvantage, with every pulse of the system clock there is an unnecessary additional processing load on the redundant units. Moreover, there is the further danger that one or more interrupts from the system clock may be missed during a synchronization procedure.
What is needed, therefore, and an object of the present invention, is method and apparatus for implementing timers maintained by redundant units of a wireless communications system.
A wireless communication system utilizes system frame numbers (SFNs) upon which to base identification of frames of information transmitted by the communication system, as well as for expressing timeout values associated with process-set timers. The wireless communication system comprises a first (active) unit which executes an operational process, as well as a second (standby) unit which executes the operational process in redundant manner with the first unit. The operational process sets a timer by computing an expiration system frame number to be used for determining a timeout value. The timer expires when a current system frame number reaches the calculated expiration system frame number.
In one embodiment of the invention, the operational process requests a timer process to store the calculated expiration system frame number in a timer table. The timer process monitors the current system frame number, and when the current system frame number reaches the calculated expiration system frame number, the timer process notifies the operational process. A SFN-distribution unit is employed to distribute a current system frame number to the timer processes of the active unit and the standby unit.
A resynchronization coordination procedure is performed by a resynchronization server. When one of the units (e.g., the standby unit) performing the operational process needs to be reset, during resynchronization the resynchronization server causes the timer table (with its expiration system frame number used for the timeout value for the first unit) to be communicated to the second unit, so that the timers for the second unit can be easily re-established. The SFN-based timeout values of the present invention are thus easily accessible and re-established upon reset.
In one embodiment, the first unit and the second unit reside at a same node of the wireless communications system, e.g., a base station node.